﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using tricogol.metro.Common;
using tricogol.metro.Models;
using tricogol.metro.Servicio;

using System.Collections.ObjectModel;
using System.Windows.Input;
using Windows.UI.Xaml.Controls.Primitives;

namespace tricogol.metro
{
    public class GroupedItemsPageViewModel:BindableBase
    {
        EquipoService ServicioEquipos = new EquipoService();
        public ObservableCollection<Equipo> equipos = new ObservableCollection<Equipo>();
        private Popup catalogPopup;
        public static bool estado = false;

        private ICommand openDialogCommand;
        public ICommand OpenDialogCommand
        {
            get { return this.openDialogCommand; }
        }

        public GroupedItemsPageViewModel()
        {
            this.openDialogCommand = new DelegateCommand(this.OpenDialog_Executed);
            

            
        }

        public async void OpenDialog_Executed()
        {
            estado = true;
            
            await ServicioEquipos.ObtenerEquipos();
                      
            ListaEquipos uiEquipos = new ListaEquipos();
            uiEquipos.DataContext = ServicioEquipos.CatalogoEquipos;

            uiEquipos.CloseRequested += uiEquipos_CloseRequested;

            this.catalogPopup = new Popup();
            this.catalogPopup.Child = uiEquipos;
            this.catalogPopup.IsOpen = true;
        }

        void uiEquipos_CloseRequested(object sender, EventArgs e)
        {
            this.catalogPopup.IsOpen = false;
            equipos.Add(ServicioEquipos.CatalogoEquipos.equipos.Where(c=>c.IsSelected==true).FirstOrDefault());
            estado = false;
        }

    }
}
